package com.cqjtu.mapper;

import com.cqjtu.pojo.Project;
import com.cqjtu.pojo.ProjectDto;
import com.cqjtu.pojo.ProjectVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 项目信息Mapper接口
 * 
 * @author kk
 * @date 2024-03-03
 */
@Mapper
public interface ProjectMapper 
{
    /**
     * 查询项目信息
     * 
     * @param projectId 项目信息主键
     * @return 项目信息
     */
    public ProjectDto selectProjectByProjectId(Integer projectId);

    /**
     * 查询项目信息列表
     * 
     * @param projectVo 项目信息
     * @return 项目信息集合
     */
    public List<ProjectVO> selectProjectList(ProjectVO projectVo);

    /**
     * 新增项目信息
     * 
     * @param project 项目信息
     * @return 结果
     */
    public int insertProject(Project project);

    /**
     * 修改项目信息
     * 
     * @param project 项目信息
     * @return 结果
     */
    public int updateProject(Project project);

    /**
     * 删除项目信息
     * 
     * @param projectId 项目信息主键
     * @return 结果
     */
    public int deleteProjectByProjectId(Long projectId);

    /**
     * 批量删除项目信息
     * 
     * @param projectIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteProjectByProjectIds(Long[] projectIds);

    /**
     * 查询单位关联的工程
     * @param unitIds
     * @return
     */
    Long selectByUnitIds(List<Integer> unitIds);

    List<ProjectVO> selectProjectList1(ProjectVO projectVo);
}
